using System.Collections.Generic;
using System.Data.Objects.DataClasses;
using System.Linq;
namespace MediaAssistant.DAL.Virtualization
{
    public class EntityCollectionProvider<TEntity> : IItemsProvider<TEntity> where TEntity : class
    {
        private readonly EntityCollection<TEntity> _entityCollection;

        public EntityCollectionProvider(EntityCollection<TEntity> entityCollection)
        {
            _entityCollection = entityCollection;
        }

        public int FetchCount()
        {
            return _entityCollection.Count;
        }

        public IList<TEntity> FetchRange(int startIndex, int count)
        {
            return _entityCollection.Skip(startIndex).Take(count).ToArray();
        }
    }
}